package com.example.graphic.model.dto;

import com.fasterxml.jackson.annotation.JsonProperty;

import java.util.List;

/**
 * 图片查询参数DTO
 */
public class ImageQueryDTO {
    
    /**
     * 页码，默认第1页
     */
    private Integer pageNum = 1;
    
    /**
     * 每页大小，默认10条
     */
    private Integer pageSize = 10;
    
    /**
     * 标签ID列表，用于标签筛选
     */
    @JsonProperty("tags")
    private List<Long> tagIds;
    
    /**
     * 文案关键词，用于文案内容搜索
     */
    private String contentKeyword;
    
    /**
     * 文件名关键词，用于文件名搜索
     */
    private String fileNameKeyword;
    
    /**
     * 排序方式：time(按时间排序) / frequency(按访问频率排序)
     * 默认按时间排序
     */
    private String sortBy;

    // 构造方法
    public ImageQueryDTO() {}
    
    // Getter和Setter方法
    public Integer getPageNum() {
        return pageNum;
    }
    
    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }
    
    public Integer getPageSize() {
        return pageSize;
    }
    
    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }
    
    public List<Long> getTagIds() {
        return tagIds;
    }
    
    public void setTagIds(List<Long> tagIds) {
        this.tagIds = tagIds;
    }
    
    public String getContentKeyword() {
        return contentKeyword;
    }
    
    public void setContentKeyword(String contentKeyword) {
        this.contentKeyword = contentKeyword;
    }
    
    public String getFileNameKeyword() {
        return fileNameKeyword;
    }
    
    public void setFileNameKeyword(String fileNameKeyword) {
        this.fileNameKeyword = fileNameKeyword;
    }
    
    public String getSortBy() {
        return sortBy;
    }
    
    public void setSortBy(String sortBy) {
        this.sortBy = sortBy;
    }
}